package com.runlooker.runer.util;

import com.alibaba.fastjson.JSON;
import com.runlooker.runer.entity.PhoneInfoEntity;

import android.content.Context;
import android.telephony.TelephonyManager;

public class PhoneInfoUtil {
	private String tag = PhoneInfoUtil.class.getSimpleName();
	private Context context;

	/**
	 * 唯一的设备id
	 */
	private String DeviceId;

	/**
	 * 设备运营商（中国联通、中国移动、中国电信等等）
	 */
	private String registeredOperator;

	/**
	 * iso国家码（cn,tw,hk等等）
	 */
	private String countryCode;

	/**
	 * 手机型号(H30-T10)
	 */
	private String phoneModels;

	/**
	 * SDK版本号
	 */
	private String SDKVersion;

	/**
	 * 系统版本号
	 */
	private String SystemVersion;

	public PhoneInfoUtil(Context context) {
		this.context = context;
	}

	/**
	 * 初始化信息
	 */
	public String getAttributes() {
		TelephonyManager tm = (TelephonyManager) context
				.getSystemService(Context.TELEPHONY_SERVICE);

		// 唯一的设备ID
		setDeviceId(tm.getDeviceId());// String

		// 运营商（中国联通、中国移动、中国电信等等）
		setRegisteredOperator(tm.getNetworkOperatorName());

		// iso国家码（cn,tw,hk等等）
		setCountryCode(tm.getSimCountryIso());

		// 系统版本号
		setSystemVersion(android.os.Build.VERSION.RELEASE);

		// SDK版本号
		setSDKVersion(android.os.Build.VERSION.SDK);

		// 手机型号
		setPhoneModels(android.os.Build.MODEL);

		PhoneInfoEntity entity = new PhoneInfoEntity();
		entity.setSDKVersion(getSDKVersion());
		entity.setSystemVersion(getSystemVersion());
		entity.setCountryCode(getCountryCode());
		entity.setDeviceId(getDeviceId());
		entity.setPhoneModels(getPhoneModels());
		entity.setRegisteredOperator(getRegisteredOperator());
		String jsonString = JSON.toJSONString(entity);
		return jsonString;
	}

	/**
	 * 
	 * 系统版本号
	 * 
	 * @return
	 */
	public String getSystemVersion() {
		return SystemVersion;
	}

	private void setSystemVersion(String systemVersion) {
		this.SystemVersion = systemVersion;
	}

	/**
	 * 
	 * SDK版本号
	 * 
	 * @return
	 */
	public String getSDKVersion() {
		return SDKVersion;
	}

	private void setSDKVersion(String sDKVersion) {
		this.SDKVersion = sDKVersion;
	}

	/**
	 * 
	 * 手机型号(H30-T10)
	 * 
	 * @return
	 */
	public String getPhoneModels() {
		return phoneModels;
	}

	/**
	 * 
	 * 手机型号
	 * 
	 * @param phoneModels
	 */
	private void setPhoneModels(String phoneModels) {
		this.phoneModels = phoneModels;
	}

	/**
	 * iso国家码（cn,tw,hk等等）
	 * 
	 * @return
	 */
	public String getCountryCode() {
		return countryCode;
	}

	private void setCountryCode(String countryCode) {
		this.countryCode = countryCode;
	}

	/**
	 * 运营商（中国联通、中国移动、中国电信等等）
	 * 
	 * @return
	 */
	public String getRegisteredOperator() {

		L.i(tag, "运营商：   " + registeredOperator);
		return registeredOperator.trim();
	}

	private void setRegisteredOperator(String registeredOperator) {
		this.registeredOperator = registeredOperator;
	}

	/**
	 * 唯一的设备id
	 * 
	 * @return
	 */
	public String getDeviceId() {
		return DeviceId;
	}

	private void setDeviceId(String deviceId) {
		this.DeviceId = deviceId;
	}
}
